﻿using System.Collections.Generic;
using NExt.Core.Model.Base;

namespace NExt
{
    public class ColorPalette : ColorPalette<ColorPaletteEvents>
    {
    }

    public abstract class ColorPalette<TEvents> : NExt.util.Observable<TEvents>
        where TEvents: ColorPaletteEvents, new()
    {
        protected ColorPalette()
        {
            colors = new List<string>();
        }

        //configs
        public bool? allowReselect { get; set; }
        public string itemCls { get; set; }
        public string value { get; set; }

        // properties
        public IList<string> colors { get; set; }
    }

    public class ColorPaletteEvents : NExt.util.ObservableEvents
    {
        public IScript select { get; set; }
    }
}
